package br.com.usjt.sge.reserva;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import br.com.usjt.sge.util.DAOFactory;

public class ReservaRN {
			
	private ReservaDAO reservaDAO;

	public ReservaRN() {
		this.reservaDAO = DAOFactory.criarReservaDAO();

	}

	public void salvar(Reserva reserva) {

		this.reservaDAO.salvar(reserva);		

	}
	
	public List<Reserva> reservasPorUsuario(Integer codigoDoUsuario) {
		
		List<Reserva> reservas = new ArrayList<Reserva>();
		
		reservas = this.reservaDAO.reservasPorUsuario(codigoDoUsuario);
		
		return reservas;
				
	}
	
	public Reserva buscarReservaPorNum(String num_reserva){
					
		return reservaDAO.buscarReservaPorNum(num_reserva);
	}
	
	public List<Reserva> listaReserva(Integer cod_estacionamento){
		return   reservaDAO.lista(cod_estacionamento);
	}

	public void excluir(Reserva reserva) {
		this.reservaDAO.excluir(reserva);
	}

	public void cancelar(Reserva reserva) {
		this.reservaDAO.alterar(reserva);

	}

	public void alterar(Reserva reserva) {
		this.reservaDAO.alterar(reserva);

	}

	public boolean validaDataHora(Date dataEntrada, Date dataSaida,
			Date horaEntrada, Date horaSaida) {

		if (horaSaida.before(horaEntrada)) {
			if (dataSaida.after(dataEntrada))
				return true;
			return false;
		} else if (horaSaida.after(horaEntrada)) {
			if (dataSaida.before(dataEntrada))
				return false;
			return true;
		} else {
			if (dataSaida.after(dataEntrada))
				return true;
			return false;
		}
	}
	

}
